As corporations have grown, their computer needs and the corresponding computational infrastructures have increased in both size and complexity. Thousands or tens-of-thousands of computers may be connected to each other, even within a single organization. Numerous computer users, or end users, may have access to each computer. At any given time, each computer may be connected to or disconnected from a corporate intranet, the Internet, or another communications network. In addition, through the various networked computers, each end user may have access to sensitive, important and valuable corporate information. Information Technology managers are often tasked with preventing disclosure of this information to unauthorized individuals while simultaneously facilitating ubiquitous access to the same information by authorized individuals. While satisfying these difficult and often competing goals for a few end users is challenging, the problem increases exponentially as the number of end users grows.
In a typical corporate environment, several host computer systems are interconnected internally over an intranet to which individual workstations and other network resources are connected. These intranets, also known as local area networks (LANs), make legacy databases and information resources widely available for access and utilization throughout the organization. These same corporate resources also can be connected directly, or through wide area networks (WANs), to remote computational resources located throughout the Internet. By way of the Internet, external end users can be given restricted access to select corporate resources, such as a corporate website, for the purpose of completing limited transactions or data transfer.
Most current networks are based on the Transmission Control Protocol/Internet Protocol (TCP/IP) suite, such as that described in W. R. Stevens, “TCP/IP Illustrated,” Vol. 1, Ch. 1, Addison-Wesley (1994). Computer systems and network devices employing the TCP/IP suite implement a network protocol stack, which includes a hierarchically structured set of protocol layers. In addition, other networking protocols and various network mediums have been implemented globally, creating a diverse and vibrant virtual universe.
The growth of distributed computing environments, especially those connected to the Internet, has created an increased need for computer security, particularly for protecting operating system and application software and stored data. Typically, a wide range of security applications and techniques are employed to ensure effective security. For example, firewalls and intrusion detection systems are necessary to combat would-be network intruders, the so-called “hackers” of the networking world. Similarly, antivirus scanning applications must be regularly executed and, equally importantly, updated, to detect and eradicate computer viruses, Trojan horses, and other forms of unauthorized content. Together, firewalls, intrusion detection systems, antivirus applications, and the like create a formidable array of reactive security applications.
In addition to these reactive security applications, dynamic security applications are increasingly being employed to combat external attacks. For example, vulnerability scanners probe and identify potential security risks and concerns within a company's network. Likewise, “honey pot” or decoy host systems create the illusion of a network of enticing, relatively unguarded, virtual hosts within which a would-be hacker can be tracked, traced, and identified.
While dynamic and reactive security applications form a powerful arsenal of defensive and offensive security tools, installing, configuring, and maintaining security applications, particularly on remote client systems, can be complex and time-consuming. Generic security management applications generally fail due to variations in installed hardware, operating system type and patch level, and application sets and version levels for each client system. Consequently, each client system must be individually evaluated before any changes are effected, a task which only adds more time to an already tedious process.
In addition to employing security applications, an organization will often implement security policies to maximize the effectiveness of the security applications in place. One security policy might require that individual client passwords be changed every month, or that they be established according to predetermined security guidelines. Another security policy might mandate that sensitive documents be password protected or encrypted. Access to secured information may also be restricted to include only highly trusted individuals.
Even within a given site, security policies may vary significantly and require different settings depending upon the platform and organizational needs. A uniform security policy might cause too much inconvenience to employees with limited informational access, while simultaneously leaving high-level executives' extremely sensitive information relatively unguarded. Furthermore, typical security policies, once established, do not provide any mechanism for automatic self-configuration. In essence, they follow a “one size fits all” approach.
Often, the time required to properly configure and maintain a network site grows dramatically with each installed platform. As networks expand, the problem of tracking and securing sensitive information, limiting external vulnerabilities, and providing universal informational access to authorized individuals can quickly overwhelm even the most sophisticated Information Technology department.
Finally, as use of the networked universe and the applications which leverage the network has grown, so too has each end user's responsibility for ensuring security. With growing network utilization, applications have become more complex and often overwhelm even experienced end users. These end users may inadvertently expose the networks and corporate intellectual property to security risks without knowing that they are doing so. Also, the growing complexity of computer systems may allow end users with malicious intent to more easily hide their efforts.